struct TreeNode* buildTree(int* preorder, int preorderSize, int* inorder, int inorderSize){
            if(preorderSize==0||inorderSize==0)
       return NULL;
       struct TreeNode*t=(struct TreeNode*)malloc(sizeof(struct TreeNode));
       t->val=preorder[0];
       int i;
       for(i=0;i<inorderSize;i++)
       {
       	 if(preorder[0]==inorder[i])
       	 break;
	   }
	   t->left=buildTree(preorder+1,i,inorder,i);
       t->right=buildTree(preorder+1+i,preorderSize-i-1,inorder+i+1,inorderSize-i-1);
       return t;
}
